AWS STS
Security Token Service
一時的な認証情報 (crednetial) を発行するサービス
GPT-4.icon
簡単に言うと:
IAMユーザーやロールが 短時間だけ使える認証情報(アクセスキー・シークレットキー・セッショントークン)を取得するためのサービス。
長期的な認証情報を環境に置きたくない場合や、一時的に他アカウントや特定の権限を借りたい時に使う。
具体的な用途
✅ 一時的なアクセス許可の発行
例:数時間だけS3を操作できる権限を付与する。
✅ クロスアカウントアクセス
例:自分のアカウントから別のAWSアカウントのリソースにアクセスする時に、一時的な権限を発行する。
✅ フェデレーション(外部IdP連携)
例:Google, Active Directoryなどの外部認証でログインしたユーザーに、AWS内で一時的なアクセスを許可する。
よく使うAPI
table:_
API名 説明
sts:AssumeRole 他のIAMロールに一時的に切り替える
sts:GetSessionToken 自分の認証情報の短期版を取得
sts:AssumeRoleWithWebIdentity Web ID(Cognito、Google、Facebookなど)で一時的に認証
sts:AssumeRoleWithSAML SAML連携(社内ADなど)で一時的に認証
どういう時に便利か?
LambdaやEC2がクロスアカウントアクセスするとき
CI/CDで一時的に必要な認証情報を発行したいとき
長期的なシークレットキーを環境に置きたくないとき
ユーザーごとに動的に違うAWSリソースにアクセスさせたいとき
λ aws sts assume-role